package com;

import com.form.主页;
import com.form.列表;
import com.form.登录;

import javax.swing.*;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;

public class 主程序 {

    public static void main(String[] args) {
        登录Form(1);
    }

    /**
     * 加载登录窗口
     * @param 调用位置 用于区分是在哪个地方调用显示这个窗口的：1 主程序 2 主页
     */
    public static void 登录Form(int 调用位置){
        登录 登录 = new 登录(调用位置);
        登录.frame = new JFrame("登录");
        if (调用位置 == 2){
            // 这里使用模态窗口，置顶，且只能操作这个窗口
            JDialog dialog = new JDialog(登录.frame,"登录",true);
            dialog.setSize(600,500);
            dialog.setLocationRelativeTo(null);
            dialog.setContentPane(登录.panel);
            dialog.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
            dialog.pack();
            dialog.setVisible(true);
            dialog.setResizable(false);
        }else {
            登录.frame.setSize(600,500);
            登录.frame.setLocationRelativeTo(null);
            登录.frame.setContentPane(登录.panel);
            登录.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            登录.frame.pack();
            登录.frame.setVisible(true);
            登录.frame.setResizable(false);
        }
    }

    /**
     * 加载主页窗口
     */
    public static void 主页Form(){
        主页 主页 = new 主页();
        主页.frame = new JFrame("主页");
        主页.frame.setSize(1000,600);
        主页.frame.setLocationRelativeTo(null);
        主页.frame.setContentPane(主页.panel);
        主页.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        主页.frame.pack();
        主页.frame.setVisible(true);
        主页.frame.setResizable(false);

        列表 table = new 列表();
        主页.列表tab = new JPanel();
        主页.列表tab.add(new JScrollPane(table));
        主页.tabPane.add("列表",主页.列表tab);
        主页.tabPane.add(主页.列表tab,"列表",2);
        /// 每次选中列表tab时，刷新它表格里面的数据
        主页.列表tab.addComponentListener(new ComponentAdapter() {
            @Override
            public void componentShown(ComponentEvent e) {
                super.componentShown(e);
                table.刷新();
            }
        });
    }
}
